package jobascjp;

public class Comp2 {
    
    public static void main(String[] args) {
        float       f1 = 2.3f; // float 4 Byte 
        float[][]   f2 = {{ 42.0f}, {1.7f, 2.3f}, {2.6f, 2.7f}}; 
        float[]     f3 = { 2.7f };
        Long        x = 42L;
        // insert code here
        // Code Snippets
        // if( f1 == f2 ) // Impliziter Cast zwischen primitiven Datentyp und 2D-Array scheint unmoeglich, Kompilierfehler keine Ausgabe;
        // if( f1 == f2[2][1] ) // 2.3 = 2.7 // Kompiliert, keine Ausgabe!
        // if( x == f2[0][0] ) // 42 = 42.0 //  Kompiliert und gibt true;
        // if( f1 == f2[1,1] ) // 2.3 = Syntax-Verbrechen
        if( f3 == f2[2] ) // 2.7 = 2.7 // Kompiliert und keine Ausgabe, da Array mit integer verglichen wird;
            System.out.println("true");
        
        /*
         * What is true?
         * 
         * One of them will compile, only one will be true;
         * Two of them will compile, only one will be true;
         * Two of them will compile, two will be true;
         * Three of them will compile, only one will be true; // korrekt
         * Three of them will compile, exactly two will be true;
         * Three of them will compile, exactly three will be true;
         * 
         * Anmerkungen:
         * Float (3.21f) ist 4 Byte lang, f endet die Zahl, ggf. scientific notation;
         * Double (3.21) ist 8 Byte lang, fasst auch mehr Stellen;
         * short(321) ist 2 Byte lang;
         * int (321) ist 4 Byte lang;
         * long (321) ist 8 Byte lang;
         * Implizite Typanpassung (JavaInsel S. 127, Datentypen S. 103) erfolgt 
         * vom kleineren Typ zum größeren, also long2 = int2; wird klappen!
         */
        
    }
    
}
